This invention relates to performing floating point arithmetic operations in programmable integrated circuit devices such as programmable logic devices (PLDs). More particularly, this invention relates to circuitry for performing floating point addition and subtraction using approximately the same resources as required for either operation separately.
Certain mathematical operations may require both the sum and difference of two floating point numbers. For example, one technique for computing Fast Fourier Transforms uses a radix-2 butterfly that requires simultaneous addition and subtraction of two numbers. In fixed logic devices, where it is known that such operations will be performed, appropriate circuitry may be provided to efficiently carry out those addition and subtraction operations. However, in programmable devices, where only some particular user logic designs may need to perform such operations, it may be inefficient to provide all of the resources to separately perform such operations. Even in fixed logic, it may be desirable to reduce the required resources for such operations.